As known in the art, magneto random access memory (MRAM) cells are more easily programmed when heated due to the storage or data layer's low coercivity at elevated temperatures. Accordingly, the storage layer can be programmed to the desired parallel/low resistive state or anti-parallel/high resistive state with less writing current than would be required if the memory cell were programmed without heating.
Memory cell programming is typically accomplished by supplying a write current to the memory cell that is to be programmed, the memory cell dissipating a level of power as a result of conducting the supplied writing current, and the dissipated power generating heat. The level of power dissipated is dependent upon the magnitude of the writing current supplied and the resistance of the memory cell, the power dissipation being defined by the equation:Power=Icell2*Rcell  eq. (1)when Icell is the current supplied and Rcell is the memory cell's resistance. In this manner, each memory cell is supplied a writing current Icell at a sufficient level, which will generate this level of power dissipation within the memory cell, thereby heating the memory cell to the desired temperature to permit the writing current to program the memory cell in either a parallel or anti-parallel state.
A disadvantage with the conventional approach is the non-uniform heating of memory cells. This is caused by the uniform application of a particular writing current to memory cells that may have differing resistance values. Differences in resistance between memory cells can be attributed to several factors, for example, small variations in the fabrication process and operating conditions. The resistance of a memory cell is also, in part, dependent upon its state, i.e., a memory cell operating in a parallel or logical 0 state will exhibit lower resistance than a memory cell operating in an anti-parallel or logical 1 state. Thus, the application of a uniform writing current to cells with the aforementioned differences will result in those memory cells dissipating different levels of power, and accordingly, operating at different cell temperatures.
The condition of memory cells operating at different temperatures is disadvantageous, in that some memory cells may be dissipate insufficient power and achieve an insufficient level of heating for proper programming, while other memory cells may dissipate excessive power and reach very high temperatures that could damage the memory cell or reduce its normal operational lifetime.
What is therefore needed is a system and method for controlling the heating of a memory cell in a more optimal manner.